/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package obtenciondatos;

import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;
import twitter4j.Tweet;

/**
 *
 * @author Administrador
 */
public class AlmacenamientoDatos {

    private ArrayList<Tweet> tweets;
    private ArrayList<String> amigos;
    private ArrayList<String> seguidores;

    public AlmacenamientoDatos(ArrayList<Tweet> tweets, ArrayList<String> amigos, ArrayList<String> seguidores) {
        this.tweets = tweets;
        this.amigos = amigos;
        this.seguidores = seguidores;
    }

    public void generarArchivoTweets(String rutaArchivo) throws IOException {

        System.out.println("Generando Archivo de tweets");
        File file = new File(rutaArchivo);
        FileWriter fstream = new FileWriter(file);
        PrintWriter out = new PrintWriter(fstream);


        String campos = "fromUserID;" +
                "fromUser;" +
                "toUserID;" +
                "toUser;" +
                "Text;" +
                "Place;"+
                "Location;"+
                "CreatedAt";


         out.println(campos);

        for (Tweet tweet : tweets) {
            String linea = tweet.getFromUserId()+";"+
                    tweet.getFromUser()+";"+
                    tweet.getToUserId()+";"+
                    tweet.getToUser()+";"+
                    tweet.getText()+";"+
                    tweet.getPlace()+";"+
                    tweet.getLocation()+";"+
                    tweet.getCreatedAt();

            out.println(linea);
        }

        out.close();


    }

    public void GenerarArchivoAmigos(String rutaArchivo) throws IOException{

        System.out.println("Generando Archivo de amigos");
        File file = new File(rutaArchivo);
        FileWriter fstream = new FileWriter(file);
        PrintWriter out = new PrintWriter(fstream);


        String campos = "user1;" +
                "user2";



         out.println(campos);

        for (String amigo : amigos) {
            out.println(amigo);
        }

        out.close();
    }

     public void GenerarArchivoSeguidores(String rutaArchivo) throws IOException{

        System.out.println("Generando Archivo de Seguidores");
        File file = new File(rutaArchivo);
        FileWriter fstream = new FileWriter(file);
        PrintWriter out = new PrintWriter(fstream);


        String campos = "user;" +
                "follower";



         out.println(campos);

        for (String follower : seguidores) {
            out.println(follower);
        }

        out.close();
    }

   

    void GenerarArchivoUsuarios(String rutaArchivo, ArrayList<Usuario> usuarios) throws IOException {
        System.out.println("Generando Archivo de Usuarios");
        File file = new File(rutaArchivo);
        FileWriter fstream = new FileWriter(file);
        PrintWriter out = new PrintWriter(fstream);


        String campos = "id;"+"nombre;" +
                "ubicacion;"+
                "amigosTotales;"+
                "SeguidoresTotales;"+
                "MensajesTotales;"+
                "listaAmigos;"+
                "listaSeguidores;";



         out.println(campos);

        for (Usuario us : usuarios) {
            out.println(us.getId()+";"+us.getNombreUsuario()+";"
                    +us.getUbicacion()+";"
                    +us.getAmigosTotales()+";"
                    + us.getSeguidoresTotales()+ ";"
                    + us.getMensajesTotales() +";"
                    + us.getListaAmigos()+ ";"+ us.getListaSeguidores());
        }

        out.close();
    }

}
